From: Wei Liu Date: Fri, 17 Aug 2018 15:12:22 +0000 (+0100) Subject: x86/mm: don't reference hvm_funcs directly X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~3428 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22?a=commitdiff_plain;h=502f75514737f598d1b2134091b364f425bee703;p=xen.git x86/mm: don't reference hvm_funcs directly It is generally not a good idea to reference the internal data structure of the another subsystem directly. Introduce a wrapper function for the invlpg hook. No functional change. Signed-off-by: Wei Liu Acked-by: Andrew Cooper --- diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 85ccf488f5..8ac4412554 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -5800,7 +5800,7 @@ void paging_invlpg(struct vcpu *v, unsigned long va) if ( is_pv_vcpu(v) ) flush_tlb_one_local(va); else - hvm_funcs.invlpg(v, va); + hvm_invlpg(v, va); } /* Build a 32bit PSE page table using 4MB pages. */ diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h index 4f720ade4b..146720c356 100644 --- a/xen/include/asm-x86/hvm/hvm.h +++ b/xen/include/asm-x86/hvm/hvm.h @@ -454,6 +454,11 @@ static inline int hvm_event_pending(struct vcpu *v) return hvm_funcs.event_pending(v); } +static inline void hvm_invlpg(struct vcpu *v, unsigned long va) +{ + hvm_funcs.invlpg(v, va); +} + /* These bits in CR4 are owned by the host. */ #define HVM_CR4_HOST_MASK (mmu_cr4_features & \ (X86_CR4_VMXE | X86_CR4_PAE | X86_CR4_MCE))